Skip to content

Conversation

MaxBed4d
Copy link
Contributor

@MaxBed4d MaxBed4d commented Oct 2, 2025

This requires the merging of both PR#481 & PR#201

@MaxBed4d MaxBed4d requested a review from MoteHue October 2, 2025 13:06
Copy link

Summary of Changes

Hello @MaxBed4d, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request enhances the deployment process by updating the Kayobe repository reference and implementing a mechanism for persistent Tenks networking. The changes ensure that network configurations for Tenks deployments are automatically applied and maintained even after system reboots, improving the stability and reliability of the deployed environment.

Highlights

  • Kayobe Repository Update: The Kayobe repository source has been updated from opendev.org to github.com/stackhpc and the branch changed from stable/2024.1 to stackhpc/2024.1 in the beokay.py create command.
  • Persistent Tenks Networking: New logic has been introduced to automatically configure persistent Tenks networking. This involves checking for a specific patch file, making network setup scripts and systemd service files executable, moving them to appropriate system directories, and enabling a systemd service to ensure network configurations persist across reboots.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the a-seed-from-nothing.sh script to automatically configure persistent networking for Tenks. The changes involve pointing to a specific fork and branch of Kayobe and adding logic to install and enable a systemd service for network persistence. My review focuses on improving the script's robustness and adherence to best practices for file installation on a Linux system. I've suggested using install instead of chmod and mv for better idempotency and correctness in setting file permissions, and recommended a more appropriate directory for the custom script.

Comment on lines +164 to +170
# Make sure unit service and script are executable
chmod +x ~/deployment/src/kayobe-config/tenks-network-on-boot.service
chmod +x ~/deployment/src/kayobe-config/tenks-network-setup

# Move Service and Script to correct directory
sudo mv ~/deployment/src/kayobe-config/tenks-network-on-boot.service /etc/systemd/system/
sudo mv ~/deployment/src/kayobe-config/tenks-network-setup /bin/

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

There are a few improvements that can be made to this block to align with best practices for shell scripting and system administration:

  • Systemd unit files (.service) do not need to be executable. Standard permissions are 644.
  • Using the install command is preferable to chmod followed by mv. It can copy the file and set its permissions in a single, atomic operation. It also copies rather than moves, which can make the script more idempotent if it needs to be re-run.
  • For custom scripts, /usr/local/bin is a more appropriate directory than /bin, which is typically reserved for essential system binaries. This follows the Filesystem Hierarchy Standard (FHS).

Here is a suggestion that incorporates these improvements:

Suggested change
# Make sure unit service and script are executable
chmod +x ~/deployment/src/kayobe-config/tenks-network-on-boot.service
chmod +x ~/deployment/src/kayobe-config/tenks-network-setup
# Move Service and Script to correct directory
sudo mv ~/deployment/src/kayobe-config/tenks-network-on-boot.service /etc/systemd/system/
sudo mv ~/deployment/src/kayobe-config/tenks-network-setup /bin/
# Copy Service and Script to correct directory and set permissions
sudo install -m 644 ~/deployment/src/kayobe-config/tenks-network-on-boot.service /etc/systemd/system/
sudo install -m 755 ~/deployment/src/kayobe-config/tenks-network-setup /usr/local/bin/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant